package com.xuhao.didi.socket.common.interfaces.common_interfacies;

import com.xuhao.didi.core.iocore.interfaces.IIOCoreOptions;
import com.xuhao.didi.core.iocore.interfaces.ISendable;

/**
 * Created by xuhao on 2017/5/16.
 */

public interface IIOManager<E extends IIOCoreOptions> {
    /**
     * 开启
     */
    void startEngine();

    /**
     * 网络
     *
     * @param options 网络
     */
    void setOkOptions(E options);

    /***
     * 发送
     *
     * @param sendable 数据
     */
    void send(ISendable sendable);

    /**
     * 关闭
     */
    void close();

    /**
     * 关闭
     *
     * @param exception 异常
     */
    void close(Exception exception);
}
